﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MapCreator : MonoBehaviour {
    float timer = 0;

    public GameObject BlockPrefab;

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
        timer += Time.deltaTime;
        if (timer >= 1.0f) {
            timer = 0;
            create();
        }
	}
    
    /*每隔1秒做一次1-100随机，按照结果做如下关卡
     * 1-50 简单关卡 生成一个Block
     * 51-75 中等关卡 一排5个block，其中至少有一个可以通过，一个不可用过
     * 75-95 中等关卡2 一排5个block，如上述描述，在随机块下面增加随机数量挡板
     * 95-100 困难关卡 一排5个block，如上述描述，在不可通过的块下面增加挡板和奖励
     * 
     * 所有时间在空余位置，每隔1秒生成一个奖励，奖励额度在自己长度的2倍以内，其中小于5按照5计算
     */
    void create() {
        //GameObject go = Instantiate(BlockPrefab) as GameObject;
        GameObject go = gameObject.GetComponent<GameScene>().popBlockPool();

        go.transform.SetParent(gameObject.GetComponent<GameScene>().snake.transform.parent);

        int x = Random.Range(-2, 2);
        float yMin = 1068.0f + gameObject.GetComponent<GameScene>().snake.GetComponent<RectTransform>().anchoredPosition3D.y;
        int y = Mathf.FloorToInt(yMin) / 216 +1;

        go.GetComponent<RectTransform>().anchoredPosition3D = new Vector3(x * 216.0f, y * 216.0f, 0);

        int num = Random.Range(1, 999);
        go.GetComponent<Block>().setNum(num);

        gameObject.GetComponent<GameScene>().blockList.Add(go);
    }
}
